package net.kelissa.divizor.jenetic;

import net.kelissa.jenetic.Gene;
import net.kelissa.jenetic.impl.gene.GeneBase;

public class GeneDivizor extends GeneBase
{

  private DivizorValue value;

  public GeneDivizor(DivizorValue value)
  {
    this.value = value;
  }

  @Override
  public void mutate()
  {
    this.value.mutate();
  }

  @Override
  public Gene clone()
  {
    return new GeneDivizor(this.value.clone());
  }

  @Override
  public Gene conceive(Gene gene)
  {
    DivizorValue conceived = this.value.conceive(((GeneDivizor)gene).getValue() );
    return new GeneDivizor(conceived);
  }

  public DivizorValue getValue()
  {
    return value;
  }

  public void setValue(DivizorValue value)
  {
    this.value = value;
  }


}
